HAL HASH migration: List of applicable concepts ¶
This section provides information about the HAL HASH applicable architecture concepts.
Concepts for HASH ¶
|
Concept |
Description |
|---|---|
|
The initialization has been split into separate initialization and configuration functions:
|
|
|
Removal and conversion of init structure to configuration structure |
The initialization structure has been removed from the handle and converted into set configuration for each HASH or HMAC process. |
|
The handle structure has been renamed to
|
|
|
The
|
|
|
|
|
|
New APIs are available to get and set HASH features. |
|
|
The
|
|
|
Two functions to set/get user data are available:
|
|
|
Individual callback registration APIs replace global register and unregister functions |
The callback registration is handled by specific functions for each HASH event. These functions are used to register callback functions for different HASH events. |
|
All hardware macros have been removed from the HAL HASH driver, and equivalent services are ensured through the LL APIs. |
|
|
The HASH state machine is reworked to ensure transitions of the peripheral functional states.
|
|
|
The HAL HASH functions were updated to return:
|
|
|
Redesign the error handling mechanisms within the HAL to enhance the detection, reporting, and management of errors. |
|
|
All TypeDef parts of the HAL HASH driver have been removed and replaced by
|
|
|
Const keywords have been added to non-modifiable pointers to ensure that either the pointer itself or the data it points to cannot be modified. This enhances code safety and readability, prevents unintended modifications, and renders code more robust and maintainable. |
|
|
Merge HAL extension files with common ones and remove the EX prefix from APIs. |
Only one HAL HASH header file remains and all macros, define statements, and functions from
|
|
Parameters and states are checked using
|
|
|
Replace Finite Parameter Defines (Including PPP Instances) with Enum Types at HAL Levels. |
Finite parameters (including HASH instances) have been converted into enumerated types (enums) at HAL level. This improves code readability, maintainability, and type safety. |
|
Add HAL_PPP Prefix to All HAL Peripheral APIs (Defines, Macros, Types, and Functions). |
All HAL HASH functions start with
|